package com.link_with_health.service;

import com.link_with_health.exception.BaseException;
import com.link_with_health.model.TalkRoomEntity;
import org.apache.poi.ss.formula.functions.T;

import java.util.List;

public interface TalkRoomService {

    /**
     * 通过聊天室id获得聊天信息
     * @param id 聊天室id
     * @return 聊天信息
     * @throws BaseException 异常
     */
    TalkRoomEntity getTalkRoomById(Long id) throws BaseException;

    /**
     * 通过医生id获取聊天信息
     * @param id 医生id
     * @return 聊天信息
     * @throws BaseException 异常
     */
    List<TalkRoomEntity> getTalkRoomByDoctor(Long id) throws BaseException;

    /**
     * 通过患者id获取聊天信息
     * @param id 患者id
     * @return 聊天信息
     * @throws BaseException 异常
     */
    List<TalkRoomEntity> getTalkRoomByPatient(Long id) throws BaseException;

    /**
     * 通过问诊id获取聊天信息
     * @param id 问诊信息id
     * @return  聊天信息
     * @throws BaseException 异常
     */
    List<TalkRoomEntity> getTalkRoomByInquiry(Long id) throws BaseException;

    /**
     * 获取所有聊天信息
     * @return 聊天信息
     * @throws BaseException 异常
     */
    List<TalkRoomEntity> getAllTalkRoom() throws BaseException;

    /**
     * 修改聊天信息
     * @param talkRoom 聊天信息
     * @return 改动数量
     * @throws BaseException 异常
     */
    int changeTalkRoom(TalkRoomEntity talkRoom) throws BaseException;

    /**
     * 新增聊天信息
     * @param talkRoom 聊天信息
     * @return 改动数量
     * @throws BaseException 异常
     */
    int addTalkRoom(TalkRoomEntity talkRoom) throws BaseException;

    /**
     * 删除聊天信息
     * @param id 聊天信息id
     * @return 改动数量
     * @throws BaseException 异常
     */
    int deleteTalkRoom(Long id) throws BaseException;
}
